CodeGear - Where Developers Matter
NEWS

Oct 29, 2008 - HTMLEdit 3.0 Updated

View Changes.

Sep 22, 2008 - HTMLEdit 3.0 Updated

View Changes.

Aug 15, 2008 - HTMLEdit 3.0 Updated

View Changes.

July 18, 2008 - HTMLEdit 3.0 Updated

View Changes.

HTMLEdit 3.0 Changelog

 

Build 94 (October 29, 2008)

  • MAJOR UPGRADE: Added support for Delphi 2009.
  • Bugfix: Fixed a memory leak in the SmartTag subsystem and a leak that occurred when the component was terminated while an image was selected.

Build 93 (September 22, 2008)

  • Added support for superscript and subscript elements (sub/sup). These elements are spans and can be accessed in the same way other spans can be accessed. New default actions are also available. The diplay of superscript and subscript text is implemented through CSS's relative positioning mechanism. Please note that different browsers (e.g. FF3 and IE7) do not necessarily display text in sub/sup elements in the same way. So if you want to achieve true WYSIWYG you might have to change the values for the attributes top, bottom and font-size in your stylesheet so that they match the defaults of the browser of your choice.
  • Added the new property SelectedImage.Title for accessing the image element's "title" attribute (e.g. '<img [...] title="This is the new title!" />'). Firefox displays the value of this attribute when the user hovers over the image with the mouse cursor (instead of the "alt" attribute).
  • Bugfix: The body background color was not interpreted correctly when it was specified through the body start tag's "class" or "style" attribute.
  • Bugfix: If the HTML clipboard contained a fragment of a block (without the block's start or end tag) and the fragment contained a span start tag then a line break was createdduring pasting from the clipboard.
  • Bugfix: Fixed three memory leaks; one related to the parser and two related to tables.
  • Bugfix: Fixed a wide-character to ansi-character conversion bug that occured during typing in characters in some eastern european languages.
  • Bugfix: The CSS attribute "border-style" was not interpreted correctly under some circumstances because of a constant naming collision (the integer constant "BS_SOLID" also exists in the Windows API with a different value).
  • The uninstaller now removes the directories from Delphi's library path that were added during installation.

Build 92 (August 15, 2008)

  • Added support for various new ways to specify the font size. Previously, only the units "pt" and "px" were supported. Now the font size can be specified as a percentage (e.g. "font-size:150%") or using one of the following units: EM, EX, PX, IN, CM, MM, PT or PC.
  • IMPORTANT: The record "TpsFontSize" had to be modified to accommodate the newly supported font size types. The field "Size" now has the type "real" instead of "integer". It's not a major change but it will break some existing code. The method "GetCurrentFontSize", for example, returns such a record. So please take this fact into account when upgrading to the new build.
  • The new class method "TpsCSSFontSizeAttribute.FontSizeToString" returns a TpsFontSize value in the form of a string.
  • Certain characters (such as '<', '>') were encoded using character references (such as '&lt;' and '&gt;'). A number of characters that could have been represented using the document's character encoding were nevertheless represented with character references. Characters are now encoded more flexibly. If an imported character (imported during document loading) was stored as a character reference then it is also exported as a reference. Certain characters that must be encoded as references because of HTML (such as '<' and '>) are always encoded as references. Finally, if a character cannot be represented using the document's character encoding then it will be represented as a reference.
  • Added support for the unicode text clipboard (i.e. clipboard format "CF_UNICODETEXT").
  • Setting the property "CurrentBlock.BlockClass" to an empty string now deletes the block start tag's "class" attribute instead of merely clearing its value ('<p class="some_class">' => '<p>').
  • Bugfix: The method "GetCurrentFontSize" did not take the current block's class attribute into account when calculating the current font size. The same was true for the property "CurrentBlock.FontSize". The block's class attribute was also not taken into account when determining font family, font color and background color. The affected methods are "GetCurrentFontFamily", "GetCurrentFontColor", "GetCurrentBackgroundColor". The affected properties are "FontFamily", "FontColor" and "BackgroundColor" (all belonging to the CurrentBlock property).
  • Bugfix: A number of methods caused errors when they were called without the presence of a current block (there is no current block when an image is selected, for example). These methods were: "PutSpanAroundCursor", "InsertSpan", RemoveSpanAroundCursor" and "RemoveCustomTagAroundCursor".
  • Bugfix: Copying to the clipboard resulted in the document's character encoding being set to "UTF-8".

Build 91 (July 18, 2008)

  • Added support for a number of character encodings: utf-8, iso-8859-1, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-9, iso-8859-13, iso-8859-15, ibm-852, ibm-855, ibm-860, ibm-880, cp-866, koi8-r, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257 and windows-1258.
  • Added the published property "Charset". The value of this property is relevant during loading and saving of documents. When a document containing a character encoding definition is loaded (i.e. a meta tag specifying a content type) then this character encoding is used for loading. Otherwise the value of the "Charset" property is used for loading. If Charset does not specify a known character encoding then the system's active codepage is used for loading.
  • Background images for the BODY-element can now also be declared in class styles as well as in the start tag's "style" attribute.
  • Added support for background images in elements other than the BODY-element, e.g. in paragraphs, DIVs, tables, lists, etc. Background images can be specified using the CSS attribute "background-image", e.g. "<p style="background-image:url('myimage.bmp')">".
  • The property "CurrentTable.ColWidth" is now writable.
  • Optimized painting speed.
  • Optimized saving speed.
  • Bugfix: The presence of a doctype-tag could result in document loading errors under certain circumstances.
  • Bugfix: If the stylesheet embedded in the document contained certain characters then the code generator created HTML character references instead of storing the characters in normal form. Double quote characters, for example, were stored using the character entity reference "&quot;". Certain CSS attribute values can contain double quote characters. An example would be the CSS attribute "background-image". Due to this bug browsers were unable to interpret the generated CSS attribute values containg character references.
  • Background image URLs could not be enclosed in single quotes (e.g. "background-image:url('X')").
  • Bugfix: The document title element was not parsed properly.
  • Bugfix: Meta tags can be accessed using the properties "MetaTags.ContentByName" and "MetaTags.ContentByHttpEquiv". The values of the "name" and "http-equiv" attributes are case-insensitive but the property getter and setter methods performed case-sensitive searches. This could result in duplicate meta tags as well as "missing" meta tags if the same tag with different case was used.
  • Bugfix: Fixed a bug in the style subsystem that could cause an invalid pointer operation under obscure circumstances.

Build 90 (June 2, 2008)

  • The property "CurrentTable.TableTag" that was introduced in the last build is now writable (or rather, the tag it represents can be modified).
  • The new property "CurrentTable.ColWidth[]" provides access to the width of a given column.
  • The new property "CurrentDocumentHeight" returns the current body height measured in pixels.
  • Added support for the CSS attribute "line-height". This attribute let's you control the height of a line of text and thus the distance between lines of text. Different types of values are supported: "normal", percentages, factors and lengths. A length can be specified in one of the length units "em", "ex", "px", "in", "cm", "mm", "pt" and "pc". Two examples: "line-height:200%" and "line-height:14pt".
  • The new property "CurrentBlock.StyleAttribute" provides access to individual CSS attributes that are part of the current block's start tag.
  • Bugfix: When the data-aware version of the control was manually created at runtime then the default document was loaded as soon as the user entered the control (for example by left-clicking the control). This is not desired because at this point in time a document could alrady have been loaded from a database.
  • Bugfix: The property "CurrentBlock.Style" did not provide access to CSS attributes with unknown names.

Build 89 (April 7, 2008)

  • The new property "CurrentTable.TableTag" can be used to inspect the current table's opening tag.
  • When creating a new span using, for example, the method "PutSpanAroundSelection" then an already existing adjacent span will be expanded if the existing span is of the same type as the span to be created. The effect is that the resulting HTML is more optimized (i.e. cleaner, shorter, more efficient).
  • Bugfix: Selecting the entire document (by pressing <ctrl>-<a>, for instance) and deleting the selection (by pressing <backspace> or <delete>) could result in an access violation.
  • Bugfix: A number of infrequently used quote characters were not recognized as characters separating words. This had the effect that the spellchecker recognized a word as misspelled if it was surrounded by such quote characters even if the word was correctly spelled. The following quote characters were added: a simple quote ('), left+right single quote, single low-9 quote, left+right double quote, double low-9 quote and single left+right-pointing angle quote.
  • Bugfix: The alternate text of an image (the text contained in the image tag's "alt" attribute) is shown in the form of a hint when the mouse cursor hovers over the image. If the user changed the alternate text without causing a relayout of the document then the previous alternate text (or none) got shown.
  • Bugfix: Tables that are part of a selection were not deleted under certain conditions if the selection got deleted.

Build 88 (March 14, 2008)

  • Bugfix: Converting a block into a list item destroyed the structure of the surrounding table if the table cell left to or right to the current table cell contained a list of the same type on the same nesting level.
  • Bugfix: During transition from 8-bit to 16-bit characters an error was introduced during parsing. Under certain condition tab characters were not correctly replaced with non-breaking spaces.
  • Bugfix: Deleting all characters between a table-tag and the block-tag of the block enclosing the table resulted in an invalid caret position. The user could move the caret to another position using the mouse but entering text did not have an effect and navigation with the keyboard did not work.
  • Bugfix: After moving or resizing an image (generally speaking after a document layout) the document was sometimes scrolled to the previous insert position rather than the insert position the user chose by clicking somewhere into the text. From the perspective of the user this was confusing because the user, for example, moved an image, then clicked somewhere into the text but the cursor did not move there but instead the document was scrolled to the old cursor position.
  • Bugfix: Dropping an image at a new location after scrolling the document during dragging the image caused the image not to be repainted at the new location.
  • Bugfix: When the user dragged an image around (in order to move it to another place) and caused the document to scroll during dragging (by moving the mouse cursor beyond the upper or lower borders of the control) then the visual representation of the document got messed up because the background of the image was not restored properly.
  • Bugfix: During image resizing scrolling is now disabled.
  • Bugfix: When the user dropped an image in the middle of a block and then clicked somewhere into the text in order to move the cursor there, the cursor did not move there and instead moved behind the dropped image.
  • Bugfix: It was possible to insert a table when an image was selected. The table got inserted at the last cursor position.
  • Bugfix: Fixed two device context resource leaks and four memory leaks.

Build 87

  • When pasting HTML from the clipboard in the form of UTF-8 then various characters will be converted into the HTML codes according to the HTML code table.
  • The current block's style can now be changed programmatically. The property "CurrentBlock.Style" was read-only. Now it is writable.
  • The method "RegisterKeyCommand" now lets you override commands for shortcuts for which a command was already registered.
  • Increased the SmartTag thread dead-lock detection timeout from 5s to 20s.
  • If a table consists of only one column/row and the current column/row is deleted then the entire table is deleted.
  • Bugfix: When a new span is put around one or more existing spans then the inner spans are optimized. The optimization did not optimize well enough under some circumstances.
  • Bugfix: Changing the current block's type could not be undone via "undo".
  • Bugfix: Fixed an assertion and an access violation that occurred in connection with selections.
  • Bugfix: The pressing of <tab> did not insert the correct characters due to an error introduced during implementation of support for 16-bit characters.
  • Bugfix: The demo application crashed at startup in the absence of a default printer.
  • Bugfix: List indentation (increase list indentation) did not work properly when the liste item to be indented was preceded by whitespace characters.
  • Bugfix: Deleting selected content spanning more than one table cell affected the table structure. Now only the selected content is deleted.
  • Bugfix: Moving in front of a table was not possible when the table was the first element of a document.
  • Bugfix: The cursor was sometimes not moved to the correct place upon deleting a table's current column.

Build 86

  • Comments can now be placed anywhere inside the BODY-element. Previously they were ignored outside of block elements and sometimes even inside block elements.
  • Added support for hexadecimal numerical character references (e.g. "&#x80;").
  • Modified the parameter syntax of the method "DefineHTMLCode" to accomodate for 16bit-characters. See the method's documentation.
  • "&trade;" now resolves to #8482 instead of #153.
  • Added support for various entities that are resolved to 16-bit characters including "&lsquo;", "&OElig;", "&oelig;", "&Scaron;", "&scaron;", "&Yuml;", "&circ;", "&tilde;", "&ensp;", "&emsp;", "&thinsp;", "&zwnj;", "&zwj;", "&lrm;", "&rlm;", "&ndash;", "&mdash;", "&lsquo;", "&rsquo;", "&sbquo;", "&ldquo;", "&rdquo;", "&bdquo;", "&dagger;", "&Dagger;", "&hellip;", "&permil;", "&lsaquo;", "&rsaquo;" and "&euro;".
  • Bugfix: Blocks which had the background color "transparent" were not painted correctly under certain circumstances. With ClearType enabled, text would become fatter and selection visualizations were not removed properly. This happened, for example, in the case of tables with transparent TD-elements.
  • Bugfix: If a table cell contained sub-blocks and the cursor was automatically moved to the beginning of the cell due to an operation like "delete table column" then the content of sub-blocks was treated as cell content and the blocks were ignored during rendering.
  • Bugfix: When a table cell containing the caret is removed then the caret is moved to the first editing position in another cell. Earlier, sub-blocks belonging to the new cell were ignored for determining the new editing position.
  • Bugfix: Set the border width of UL and OL elements in the hardcoded stylesheet to zero. Earlier, such elements inherited border widths from parent elements. This would result in lists with border in tables, for example.
  • Bugfix: Copying a selection to the clipboard in HTML format using custom tags could result in unnecessary data being copied to the clipboard.